{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import sys\n",
    "caffe_root = '/home/csunix/schtmt/NewFolder/caffe_Sep/'\n",
    "#print sys.path\n",
    "sys.path.insert(0,caffe_root + 'python')\n",
    "import caffe\n",
    "import h5py\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "\n",
    "def visualize_weights(net, layer_name, padding=4, filename=''):\n",
    "    # The parameters are a list of [weights, biases]\n",
    "    data = np.copy(net.params[layer_name][0].data)\n",
    "    # N is the total number of convolutions\n",
    "    N = data.shape[0] * data.shape[1]\n",
    "    print N\n",
    "    print data.shape\n",
    "    # Ensure the resulting image is square\n",
    "    filters_per_row = int(np.ceil(np.sqrt(N)))\n",
    "    # Assume the filters are square\n",
    "    filter_size = data.shape[2]\n",
    "    # Size of the result image including padding\n",
    "    result_size = filters_per_row * (filter_size + padding) - padding\n",
    "    # Initialize result image to all zeros\n",
    "    result = np.zeros((result_size, result_size))\n",
    "\n",
    "    # Tile the filters into the result image\n",
    "    filter_x = 0\n",
    "    filter_y = 0\n",
    "    for n in range(data.shape[0]):\n",
    "        for c in range(data.shape[1]):\n",
    "            if filter_x == filters_per_row:\n",
    "                filter_y += 1\n",
    "                filter_x = 0\n",
    "            for i in range(filter_size):\n",
    "                for j in range(filter_size):\n",
    "                    result[filter_y * (filter_size + padding) + i, filter_x * (filter_size + padding) + j] = data[\n",
    "                        n, c, i, j]\n",
    "            filter_x += 1\n",
    "    print result.shape\n",
    "    # Normalize image to 0-1\n",
    "    min = result.min()\n",
    "    max = result.max()\n",
    "    result = (result - min) / (max - min)\n",
    "\n",
    "    # Plot figure\n",
    "    plt.figure(figsize=(10, 10))\n",
    "    plt.axis('off')\n",
    "    plt.imshow(result, cmap='gray', interpolation='nearest')\n",
    "\n",
    "    # Save plot if filename is set\n",
    "    if filename != '':\n",
    "        plt.savefig(filename, bbox_inches='tight', pad_inches=0)\n",
    "\n",
    "    plt.show()\n",
    "\n",
    "def H_visualize_weights(net, layer_name, padding=4, filename=''):\n",
    "    # follow the method of \"display_network.m\"\n",
    "    # The parameters are a list of [weights, biases]\n",
    "    data = np.copy(net.params[layer_name][0].data)\n",
    "    # N is the total number of convolutions\n",
    "    N = data.shape[0] * data.shape[1]\n",
    "    print N\n",
    "    print data.shape\n",
    "    # a = data[1,0,:,:]\n",
    "    # print abs(a).min()\n",
    "    # Ensure the resulting image is square\n",
    "    filters_per_row = int(np.ceil(np.sqrt(N)))\n",
    "    # Assume the filters are square\n",
    "    filter_size = data.shape[2]\n",
    "    # Size of the result image including padding\n",
    "    result_size = filters_per_row * (filter_size + padding) - padding\n",
    "    # Initialize result image to all zeros\n",
    "    result = np.ones((result_size, result_size))\n",
    "\n",
    "    # Tile the filters into the result image\n",
    "    filter_x = 0\n",
    "    filter_y = 0\n",
    "    for n in range(data.shape[0]):\n",
    "        for c in range(data.shape[1]):\n",
    "            if filter_x == filters_per_row:\n",
    "                filter_y += 1\n",
    "                filter_x = 0\n",
    "            # for i in range(filter_size):\n",
    "            #     for j in range(filter_size):\n",
    "            #         result[filter_y * (filter_size + padding) + i, filter_x * (filter_size + padding) + j] = data[\n",
    "            #             n, c, i, j]\n",
    "            result_temp = data[n,c,:,:]\n",
    "            clim = abs(result_temp).max()\n",
    "            result[filter_y * (filter_size + padding):filter_y * (filter_size + padding) + filter_size,\n",
    "            filter_x * (filter_size + padding):filter_x * (filter_size + padding) + filter_size] = data[n,c,:,:]/clim\n",
    "            filter_x += 1\n",
    "    print result.shape\n",
    "    # # Normalize image to 0-1\n",
    "    # min = result.min()\n",
    "    # max = result.max()\n",
    "    # result = (result - min) / (max - min)\n",
    "\n",
    "    # Plot figure\n",
    "    plt.figure(figsize=(10, 10))\n",
    "    plt.axis('off')\n",
    "    plt.imshow(result, cmap='gray', interpolation='nearest')\n",
    "\n",
    "    # Save plot if filename is set\n",
    "    if filename != '':\n",
    "        plt.savefig(filename, bbox_inches='tight', pad_inches=0)\n",
    "\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "caffe.set_mode_cpu()\n",
    "# model_def = caffe_root + 'examples/mnist_wta_autoencoder/mnist_wta_test.prototxt'\n",
    "#model_weights = caffe_root + 'examples/mnist_wta_autoencoder/mnist_GlobalWta_iter_60000.caffemodel'\n",
    "# model_weights = '/usr/not-backed-up/1_convlstm/mnist_wta_sep2017_Ver1/mnist_GlobalWta_iter_60000.caffemodel'\n",
    "# model_weights = '/usr/not-backed-up/1_convlstm/mnist_wta_cross_entropy_loss_sep2017/mnist_GlobalWta_iter_60000.caffemodel'\n",
    "model_def = caffe_root + 'examples/mnist_wta_autoencoder/mnist_wta_leakyReLU_test.prototxt'\n",
    "model_weights = '/usr/not-backed-up/1_convlstm/mnist_wta_leakyReLU_sep2017/mnist_GlobalWta_iter_99600.caffemodel'\n",
    "# Load model\n",
    "net = caffe.Net( model_def,model_weights, caffe.TEST)\n",
    "data = np.copy(net.params['deconv'][0].data)\n",
    "\n",
    "##################################################################\n",
    "# create hdf5 file to check in Matlab\n",
    "# h5f = h5py.File('deconvWeight.h5','w') # w means write\n",
    "# h5f.create_dataset('weight',data = data)\n",
    "# h5f.close()\n",
    "#########"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "64\n",
      "(64, 1, 11, 11)\n",
      "(116, 116)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\ntuOuXL9+vbpdip4zsW3Lli2pj2pT1LGI1JyJ4+x+nkN957ifzn6XkueROn4TExOpbfPmzant6tWr\njW01h9Q4qHnbhnvutr3OOJ/pvrc6DyP3GLYRryc/SVuk5oz6fvE4qz5dXj+6oo6DalPHPn5HNdfV\nd47vNe6/Sy5nv9y/E+pvmqPt65RhjjIAAMBAsFgCAACoYLEEAABQMYjMUtscjnpd/L1T/fbt/sYb\n30vtQ5eZqMjJcimqz/LycmqLmaXZ2dnU59q1a6ltfn4+tcVj0XfmIP6+r3Iyat9jdubSpUupjxp3\nlaeZnJwcuQ9bt25NbX1yMkttczkqU6EyS+q8jPNPjWefmZS231nNhS6vA87rusxdKPH9VRZJZQKd\nzFKXOZwhZJbiWKm5rvJ4zvxT1w/V5mQJFSdr6mibkeoyn9T2nFhNJpH/WQIAAKhgsQQAAFDBYgkA\nAKCCxRIAAEDFIALeTihVhdNUuC4Gi50QeCle8UCl7+KLjjh+N27cSH0uX76c2mL48uMf/3jqo4Kd\nKhQdP9MZu9VwCjuqYxq/swqpuvMj9lNhzNXcYDBOTmBy27ZtqW16ejq1nT59OrXF+aGC70MM8K4m\nXO28Vl374vzoswBlKV7AW90gEq/JbnFV55xQ4zLEa60b8FbX5Pjaubm51Gdqamrk69RYqc/rKuDd\nJfcGiqhtUJuANwAAQE9YLAEAAFSwWAIAAKhgsQQAAFAxiIC3qvIaA2qqGrMT3lYBQPV5qi0GFsf9\nJGwn+F5KHquVlZWRfUop5ejRo43t5557LvVRocNYubqUXBm776rDTrjaeeK58zTwUrxQthvc7nts\nRlHjouZHnP9qLqgK3ufOnRv5XkMMc5fiBUDV/FCvi21OmLuUHMR1K4a3Fd9f3Qyi2pybOJybLFQ/\n9bohVPV2jqkKyMfrYymlLCwsNLYPHDiQ+uzbty+1XblypbGtbsJZ62uM0vZ8U691zrdS8rEg4A0A\nANATFksAAAAVLJYAAAAqBpFZUsXuZmZmGtvq9/F33nkntcXfNlWhNJVvcQqquU/QVv3acH8Pd4qU\nOUU3X3311dTnxRdfTG3x2JRSyvz8fGO779/MnSJ2znFw97Pt9xlCIT2n6KAqWBczSiqzdP78+dSm\nipbu3bt35H72yc1LxDb3WKnzK2ZJVC5MXYvivO27wGs89jFLU4pXPLBtlku912qyJV1pWyzZbYs5\n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\nc3ONbbeasDoWMaDZ57go7r7HsKxbrVsFEWMAWgW8FTV+XVHfJ54TR48eTX2+/e1vp7Y4j37mZ34m\n9Tl48GBqU4HkGEJVIfc+bwpwq6vHNvcGEdUWzwkV1nXOpb5vloj7oMZFhb737NnT2FbX1XfffTe1\nvfnmm6ntgw8+aGyr8VT7MO5Ad9ubbpz5oW4AUDc9xOC0GoM+b0ZSn+cEvFUfFcp++eWXU9uJEyca\n207FcNVGBW8AAICesFgCAACoYLEEAABQMYjMkso4xN/NDxw4YL3uBz/4QWNbFVNzn34cf+9Uv+X3\nmWNq+3TnmKUpJecL7vX+kcpZKOMu4On89uz0UZkUVTxt//79qS3OLSeXUIo/pm0431kVBYz5tVJy\nJlBlCd54443UprJbMb+gzsvVFIxrQ51LMeOoMo9qP53ikup1Ttau76KUMRejnmJ/7Nix1BbzJiqH\nps4JlS2J55zqo8ZPHcOujLsIsTrOKpcbs2Hqb1ef46L+vql9P3v2bGP7+9//fuqjMm1qHsVrlpof\nah9isdjVjAv/swQAAFDBYgkAAKCCxRIAAEAFiyUAAICKQQS8VWAsBrNU2O75559PbbG4mQqQPfTQ\nQ6nNKTTnFqPrKuCtwmgqnBsD3ap4m3qvGJhUBfJWVlZSmwrSjTuUGsfYDdrH76zC/ocPH05t7tOx\no/n5+dSmCs11xZmj6kYFFcqOc80t4OkEoNUYqDFWhQ7bUEH7K1eupLb4NHP1+Z/85CdTWwywl1LK\nwsJCY1uNlQqzxn1VffrkPlVeBYsdao7Gzxx3uHotOMWE1fU3zit1bPos1qnOXVVcMl77FhcXUx91\nnNXfuHh9V9d79+9zW/f/jAQAAFgFFksAAAAVLJYAAAAqWCwBAABUDCLg7YS1VKgsPsm8lFJ+7/d+\nr7H9la98JfVR76UCrl1Vie6SE9R2nvqu2lQf9V5OKFUFarsU54caF9UWw++qsrkK9TrV1JeWllIf\nVQ25z8CuChE7YXinOr2a626V+ThHx12tWwVlVVusmBxvNCklVyYupZTPfvazqS3OLXV+qTDruMPO\nzvxQbW2vfc4cbfud+76xpC1nv9Q5oSrrf+1rX2ts/+qv/mrq09WNEYr7VIJ4nVPXGHUtVPMqzr+2\nN1ut5uYr/mcJAACggsUSAABABYslAACAChZLAAAAFYMIeKvwmxPEUhWnYzjsV37lV1Kfl156KbW1\n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\nbCQm9scKYXkAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7c2c136310>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "64\n",
      "(64, 1, 11, 11)\n",
      "(116, 116)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nXRV9e/nll12fyrfYz9Ejhbeapn6fLS6pvh1effa9dOnSrK0yByp/MjQ05Prs/DU9L5HP7VUhOJtB\n6e7udmPe+ta3uj6V8/nt3/7trP3tb3/bjVH5riZzFupasr9v8eLFbszb3vY21/fnf/7nWfvee+91\nYz7/+c+7PpXZiBSVU+u2Lir/p7I5u3btytrr1693Y17/+te7vscff9z1PfDAA1lbXV8qF9Pugq42\nu6VyVPa+mlKsKKU6p+rc24Ku6nypPF4k61RVJKMazbGqPI29LtW8qPuaze9u27bNjdm3b5/rq4s6\nJtVnz73KNami0eqefN9992Vt9e960/jLEgAAQAGbJQAAgAI2SwAAAAVslgAAAAo6IuCtgtO22NdN\nN93kxqgg7i9+8YusrYJgO3bsCB3DaBfSU+FBFZi0x6COU31jvC0SpoLb6hhUgTobElUBzTrZILMK\nxao+G1792te+5saoMObatWtd39VXX521VZhbFSJscm7UMdhzEy06aItZvvvd73ZjVNj5i1/8ouuz\n71mdGxVOr4uac/VQx4033pi1/+AP/sCNUedUFaq015NaV+o9q2uunVRYV82ffYBCPVChqHH2ulT3\nK1vkMKVmw/C2QGlK/jj37NnTckxKunilPc/qwQhVOLW/v7/l71N9dVGFJP/3f//X9T399NNZW63/\njRs3ur43vOENru9Vr3pV1lbXrn1IIKV6ryX+sgQAAFDAZgkAAKCAzRIAAEABmyUAAICCjgh4q+CX\nrS6twn026JaSD1WqAJ4KgqngtO3rhIC3qvJq50/NpwpM2tcaHBwMHZeadxvabHcV4ig7N2o+/+7v\n/s71/eEf/qHrswFoVSV9+fLlrk9Vo6+LCnba0PeBAwfcmO3bt7u+Z555JmvbazIl/U3pv/d7v+f6\nfv7zn2dtFfJtMtisAspdXV2u753vfGfWVtWRt2zZ4vpsVeWUUpo6dWrWVu9PXSdNfmO8Yq8BdU2o\nqvP2WlLvJVLNXb3WZZdd1vI4U9Jh9Lqoh4Mi1c7VWlPzZ8+zGqP+rbLXTru/WeLgwYOuTz1YMnv2\n7KytqsDfddddru/WW291ffbaUZXvm1wLKfGXJQAAgCI2SwAAAAVslgAAAArYLAEAABR0RMA7ElpW\n4ch9+/a5Plt1VVUmVoE41Td+/PhiO6Vmg3TqtdVc2eOywdKUdPjYzo0KE6oKw6rStw3vqdeqk10P\n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\n+spXvpK1b7jhBjfmyiuvdH2qKnRdqs67mj8VNLbXjj0PKen3d+jQoaytzo16rbqoMLe6p1x66aVZ\nWwW37RpKSb/nSMA7YiSVzfnLEgAAQAGbJQAAgAI2SwAAAAUdkVmqM3v061SUUn0uq7IR9rNvlc9Q\n2SNbXPL06dNujHotNa7JImh1qrOoXJM/V5X6fTa/oL7JfPv27a7Prqvu7m43xmbVosfV7uvU5jxS\nSmlwcND12aKv0fP3Sr7v2IKd6r2ogpM2W/Ltb3/bjXn44Yddn7p/3HzzzVm7p6fHjVG5OpWD+XWi\nijbazKgqEtxkZlQVtR0YGHB9ixYtytpqXU2dOtX1qcLL9t/C0bje+MsSAABAAZslAACAAjZLAAAA\nBWyWAAAACl4xAe/fRJGwbkq+kJ4KW/f19YVe31JFvFQhwiaLoCl2zdQZpO7EYpNR6lqy51AFbHt7\ne12fDYnaILAac7FjGO1rXD3gEH2AIqLOb6hvN3te1XtR94/+/v6sreb4sssuc30qqG2Dvirkq4ov\n1vmt8k2K3EdVAdTINafu9+oeXRf1gIhaM3PmzGl5TOo8q+smWhzWsvM+knv7K2OlAQAAjBI2SwAA\nAAVslgAAAArYLAEAABSM6ZAwa0ccBAAA+I0SehKDvywBAAAUsFkCAAAoYLMEAABQwGYJAACggM0S\nAABAAZslAACAAjZLAAAABWyWAAAACtgsAQAAFLBZAgAAKGCzBAAAUMBmCQAAoIDNEgAAQAGbJQAA\ngAI2SwAAAAVslgAAAArYLAEAABSMG+0DSCml22+/vbHXvnDhQq3jrDFjxri+DRs2VHotS83LJZf4\n/e2UKVOy9vLly92YnTt3ur4XXngha0+fPt2NmThxYugYIjZt2lTp55p+rSap9WHddttttf2+9evX\nu75z584V2ymldObMGddnr4mxY8e6MdE+u2bUGlJzVdd5VnN89uxZ12fnRs3L+fPnXV/kulTXl3rP\nx48fb3mcd9xxh+urauPGjS3HRNaxMmfOHNe3YMEC13f69OmsfeTIETdG9Z08eTJr13ktqfu4Pffq\nWlJ9as1Yaq7GjfP/RNt5UOemyWspsl5S8vcPdS3Z836xvlOnTmXtEydOuDF2LaTk19qyZcvcmE98\n4hOuT+EvSwAAAAVslgAAAArYLAEAABSwWQIAACjoiIB3J1CBuEjou2owPEIFBVWQtKurK2uvWrXK\n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\n1QAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f7be28b5b90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# visualize_weights(net, 'conv1', filename='conv1.png')\n",
    "#visualize_weights(net, 'deconv', filename='deconv.png')\n",
    "H_visualize_weights(net, 'deconv', filename='deconv_MatlabDisplay.png')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
